This is a local mirror of the Altera FreeCore Library. It is no longer supported.

Altera Module Library

Note:

Contributed by: Module Description
#1:
Rune Baeverrud
htm.gif (161 bytes) Divide By N Frequency Divider
This cascadeable function divides a frequency by any integer number and is used for timing generation in other modules, e.g. the Compact UART Reference Design or the I2C Controller Reference Design.
#2:
Rune Baeverrud
htm.gif (161 bytes) Compact UART, Transmitter Module
The Compact UART transmitter provides a fully functional asynchronous serial transmitter. Interfacing to logic or a microprocessor is easily accomplished using the control and status signals provided.
#3:
Rune Baeverrud
htm.gif (161 bytes) Compact UART, Receiver Module
The Compact UART receiver provides a fully functional asynchronous serial receiver. Interfacing to logic or a microprocessor is easily accomplished using the control and status signals provided.
#4:
Rune Baeverrud
htm.gif (161 bytes) Compact UART Reference Design
A complete UART with microprocessor interface. Just drop it in and off you go.
#5:
Rune Baeverrud
htm.gif (161 bytes) I2C Controller
This is an I2C Controller which may be used as a controller in single master systems. Interfacing to logic or a microprocessor is easily accomplished using the control and status signals provided.
#6:
Rune Baeverrud
htm.gif (161 bytes) I2C Controller Reference Design
A complete I2C Controller with microprocessor interface. Just drop it in and off you go.
#7:
Woody Johnson
htm.gif (161 bytes) Gray Code Counter
The gray module implements a parameterized width gray code sequence counter. Gray code count sequences are distinguished by the fact that only one bit changes as the counter goes through it's sequence.
#8:
Rune Baeverrud
htm.gif (161 bytes) 512-point Cosine
This is a 512 points (128 points / quadrant) cosine function using a single 256 point lookup-table (one EAB). 7 bits + sign bipolar or 8 bit unipolar output resolution, giving a Signal-to-Noise Ratio (SNR) of more than 50dB.
#9:
Rune Baeverrud
htm.gif (161 bytes) 512-point Sine
This is a 512 points (128 points / quadrant) sine function using a single 256 point lookup-table (one EAB). 7 bits + sign bipolar or 8 bit unipolar output resolution, giving a Signal-to-Noise Ratio (SNR) of more than 50dB.
#10:
Rune Baeverrud
htm.gif (161 bytes) Numerically Controlled Oscillator/Modulator
This is a very high speed Numerically Controlled Oscillator/Modulator achieving an operating speed of more than 80MHz input clock frequency using an Altera FLEX 10K -3 device.
#11:
Rune Baeverrud
htm.gif (161 bytes) VGA Sync Generator
This module makes it very easy to generate the signals required for output to an industry standard VGA computer screen. A number of status output signals are provided for easy synchronizing to external pixel data.
#12:
Woody Johnson
htm.gif (161 bytes) MII Management Interface Controller
This is a design that can be used to read or write a register value as defined by the IEEE 802.3 MII Management Interface.
#13:
Iain
Rankin
htm.gif (161 bytes) Corner Bender
This LPM function was developed to permit the most efficient separation of the component bitplanes in an image for display on a fast binary array modulator, using pulse width modulation
#14:
Frank
Rodler
htm.gif (161 bytes) Dynamic RAM Controller
Dynamic RAMs are still the cheapest way to implement memory for microprocessor systems. If there is a CPLD already planed in the new design, the DRAM controller can be easily added to the device.
#15:
Woody
Johnson
htm.gif (161 bytes) Linear Feedback Shift Register (LFSR)
This is a design that can be used to implement a linear feedback shift register (LFSR) of various lengths.  Such registers are useful for replacing counters when the count sequence is unimportant (such as in implementing fifo head and tail pointers) or were only the terminal count value is used.
#16:
Rune Baeverrud
htm.gif (161 bytes) Variable Frequency Divider
This function is similar to the div_by_n function also found in the FreeCore Library. The difference is that while div_by_n divides a frequency by a fixed value provided as a parameter, var_div will divide a frequency by a variable value provided at it's D[] input
#17:
Steven Groom
zip.gif (150 bytes) Percentage Module, outputs A*100/B
#18:
Steven Groom
zip.gif (150 bytes) Improved UART
#19:
Keith Willis (NetSoft)
zip.gif (150 bytes) Fully Programmable UART, version 2.1

  - Master clock frequency(FCLK) is entered as a module parameter.
  - Maximum master clock frequency=50MHz for -2 grade parts.
  - Maximum Bit Rate=12.5MBits/s at FCLK=50MHz for -2 grade parts.
  - The UART may be used as an embedded module according to the "EMBEDDED" module parameter.
  - UART has separate Input & Output Data Buses for use as an embedded module in a larger design.
  - Digital Filter Depth (FILTER_DEPTH) is entered as a module parameter.
  - A FIFO is integrated into the Receiver if the USE_RxFIFO module parameter = "YES".
  - A FIFO is integrated into the Transmitter if the USE_TxFIFO module parameter = "YES".
  - The depth of the Rx FIFO is determined by the RxFIFO_DEPTH module parameter.
  - The depth of the Tx FIFO is determined by the TxFIFO_DEPTH module parameter.
  - The FIFO will be automatically implemented in an EAB if the device family supports this feature.
  - If the FIFO is implemented in an EAB UART Read and Write timing should be as shown below.
  - The FIFO will not allow data underflow or overflow.
  - Number of logic cells used approximately 338, (without FIFO's).
  - Number of logic cells used approximately 446, (RxFIFO_DEPTH=TxFIFO_DEPTH=32, USE_EAB="YES").
  - All UART asynchronous inputs, (/CTS, /DSR, Rx) are digitally filtered by a 3-stage filter.
  - 5/6/7/8 Data Bits, 1/1.5/2 Stop Bits, N/O/E Parity.
  - Standard CPU interface.
  - UART supports up to 6 maskable interrupts and 6 status flags.
  - A common interrupt line for all interrupt events.
  - 10 Standard Baud rates, from 1200 to 115200.
  - 127 User Baud rates, from FCLK/4 to FCLK/256.
  - Handshaking may be controlled internally by the UART or externally via the CPU.
  - The UART handshaking signals, (/RTS, /CTS, /DTR, /DSR) are active low.
  - 4 Error flags for Invalid Start Bit, Framing Error, Parity Error, & OverRun Error.
  - Transmitter enabled by new Data Write to TxReg.
  - New data may be written to the TxReg during transmission.
  - Status Register Rx bits cleared on Rx Data Register Read, (see Status Register notes).
  - Status Register Tx bits cleared on Tx Data Register Write, (see Status Register notes).
  - Receiver and Transmitter Reset by Configuration Register or Baud-Rate Register Write.
  - Receiver synchronizes off the start bit.
  - Receiver samples all incoming bits at the center of each bit.
#20:
Nik Snoek
zip.gif (150 bytes) PRBS module
#21:
Peter Szymansky
txt.gif (138 bytes) Byte Wide CRC32 Generator/Detector
#22:
Steven Groom
zip.gif (150 bytes) Bit Serial Multiplier
#23:
Steven Groom
zip.gif (150 bytes) Arithmetic Logic Unit
#24:
Steven Groom
zip.gif (150 bytes) Sine/Cosine using the CORDIC algorithm
#25:
Sven Zeisberg
zip.gif (150 bytes) Generating Sine/Cosine using integrators
#26:
Steven Groom
zip.gif (150 bytes) Sequential multiplier using Booth's Algorithm
#27:
Steven Groom
zip.gif (150 bytes) Very fast exp(i), Sine/Cosine
#28:
pealed@
phasemetrics.com
zip.gif (150 bytes) Parameterized variable length pipeline
Go to the FreeCore Library DOWNLOAD page!


Last updated 08 Feb 2001 12:38